home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / modellib / lorenz_def.c < prev    next >
Encoding:
Text File  |  1990-01-19  |  1.2 KB  |  67 lines

  1. /* Lorenz system */
  2.  
  3. int lorenz_init()
  4. {
  5.     title_label = "Lorenz system";
  6.  
  7.     mapping_on = 0; 
  8.     inverse_on = 1;
  9.     fderiv_on = 0;
  10.     enable_polar = 0;
  11.     enable_period = 0;
  12.  
  13.     var_dim = 3;
  14.     param_dim = 3;
  15.     func_dim = 3;
  16.  
  17.     (void) malloc_init();
  18.  
  19.     var_label[0] = "x";
  20.     var_label[1] = "y";
  21.     var_label[2] = "z";
  22.     param_label[0] = "sigma";
  23.     param_label[1] = "rho";
  24.     param_label[2] = "beta";
  25.     func_label[0] = "t";
  26.     func_label[1] = "x+y";
  27.     func_label[2] = "x-y";
  28.  
  29.     param[0] = 10;
  30.     param[1] = 28;
  31.     param[2] = 2.6666666666666;
  32.     var_i[0] = 0.1;
  33.     var_i[1] = 0.1;
  34.     var_i[2] = 0.1;
  35.  
  36.     param_min[0]= -20; param_max[0]= 20;
  37.     param_min[1]= 0; param_max[1]= 40;
  38.     param_min[2]= -5; param_max[2]= 5;
  39.     var_min[0]= -30; var_max[0]= 30;
  40.     var_min[1]= -30; var_max[1]= 30;
  41.     var_min[2]= -5; var_max[2]= 50;
  42.     func_min[0]= 0; func_max[0]= 100;
  43.     func_min[1]= -60; func_max[1]= 60;
  44.     func_min[2]= -60; func_max[2]= 60;
  45.  
  46.     f_p = lorenz_f;
  47.     func_p = lorenz_func;
  48. }
  49.  
  50. int lorenz_f(f,index,x,p,t,dim)
  51. int index,dim;
  52. double f[],x[],p[],t;
  53. {
  54.     f[0] = p[0] * ( x[1] - x[0] );
  55.     f[1] = p[1] * x[0] - x[1] - x[0] * x[2];
  56.     f[2] = - p[2] * x[2] + x[0] * x[1];
  57.     
  58. }
  59. int lorenz_func(f,x,p,t,dim)
  60. double f[],x[],p[],t;
  61. int dim;
  62. {
  63.     f[0] = t;
  64.     f[1] = x[0] + x[1];
  65.     f[2] = x[0] - x[1];
  66. }
  67.